1. Field of the Invention
The present invention relates to wireless communication.
It more particularly relates to selective retransmission of data units between a wireless device and a network, depending on whether they have been received or not.
While it is described below in the context of an LTE (Long Term Evolution) type of cellular network for illustration purposes and because it happens to be well suited to that context, those skilled in the communication art will recognize that the invention disclosed herein can also be applied to various other types of cellular networks.
2. Discussion of the Related Art
Universal mobile telecommunications system (UMTS) is a 3rd Generation (3G) asynchronous mobile communication system operating in wideband code division multiple access (WCDMA) based on European systems, global system for mobile communications (GSM) and general packet radio services (GPRS). The long term evolution (LTE) of UMTS, also known as evolved universal mobile telecommunication system (E-UMTS), is under discussion by the 3rd generation partnership project (3GPP) that standardized UMTS.
LTE is a technology for enabling high-speed packet communications. Many schemes have been proposed for the LTE objective including those that aim to reduce user and provider costs, improve service quality, and expand and improve coverage and system capacity. LTE requires reduced cost per bit, increased service availability, flexible use of a frequency band, a simple structure, an open interface, and adequate power consumption of a terminal as an upper-level requirement.
FIG. 1 is a block diagram illustrating network structure of an LTE system. The communication network is widely deployed to provide a variety of communication services such as voice and packet data.
As illustrated in FIG. 1, the E-UMTS network includes an evolved UMTS terrestrial radio access network (E-UTRAN) and an Evolved Packet Core (EPC) and one or more user equipment. The E-UTRAN may include one or more evolved NodeB (eNodeB) 20, and a plurality of user equipment (UE) 10 may be located in one cell. One or more E-UTRAN mobility management entity (MME)/system architecture evolution (SAE) gateways 30 may be positioned at the end of the network and connected to an external network.
As used herein, “downlink” refers to communication from eNodeB 20 to UE 10, and “uplink” refers to communication from the UE to an eNodeB. UE 10 refers to communication equipment carried by a user and may be also be referred to as a mobile station (MS), a user terminal (UT), a subscriber station (SS) or a wireless device.
An eNodeB 20 provides end points of a user plane and a control plane to the UE 10. MME/SAE gateway 30 provides an end point of a session and mobility management function for UE 10. The eNodeB and MME/SAE gateway may be connected via an S1 interface.
The eNodeB 20 is generally a fixed station that communicates with a UE 10, and may also be referred to as a base station (BS) or an access point. One eNodeB 20 may be deployed per cell. An interface for transmitting user traffic or control traffic may be used between eNodeBs 20.
The MME provides various functions including distribution of paging messages to eNodeBs 20, security control, idle state mobility control, SAE bearer control, and ciphering and integrity protection of non-access stratum (NAS) signaling. The SAE gateway host provides assorted functions including termination of U-plane packets for paging reasons, and switching of the U-plane to support UE mobility. For clarity MME/SAE gateway 30 will be referred to herein simply as a “gateway,” but it is understood that this entity includes both an MME and an SAE gateway.
A plurality of nodes may be connected between eNodeB 20 and gateway 30 via the S1 interface. The eNodeBs 20 may be connected to each other via an X2 interface and neighboring eNodeBs may have a meshed network structure that has the X2 interface.
FIG. 2(a) is a block diagram depicting the architecture of a typical E-UTRAN and a typical EPC. As illustrated, eNodeB 20 may perform functions of selection for gateway 30, routing toward the gateway during a Radio Resource Control (RRC) activation, scheduling and transmitting of paging messages, scheduling and transmitting of Broadcast Channel (BCCH) information, dynamic allocation of resources to UEs 10 in both uplink and downlink, configuration and provisioning of eNodeB measurements, radio bearer control, radio admission control (RAC), and connection mobility control in LTE_ACTIVE state. In the EPC, and as noted above, gateway 30 may perform functions of paging origination, LTE-IDLE state management, ciphering of the user plane, System Architecture Evolution (SAE) bearer control, and ciphering and integrity protection of Non-Access Stratum (NAS) signaling.
FIGS. 2(b) and 2(c) are block diagrams depicting the user-plane protocol and the control-plane protocol stack for the E-UMTS. As illustrated, the protocol layers may be divided into a first layer (L1), a second layer (L2) and a third layer (L3) based upon the three lower layers of an open system interconnection (OSI) standard model that is well-known in the art of communication systems.
The physical layer, the first layer (L1), provides an information transmission service to an upper layer by using a physical channel. The physical layer is connected with a medium access control (MAC) layer located at a higher level through a transport channel, and data between the MAC layer and the physical layer is transferred via the transport channel. Between different physical layers, namely, between physical layers of a transmission side and a reception side, data is transferred via the physical channel.
The MAC layer of Layer 2 (L2) provides services to a radio link control (RLC) layer (which is a higher layer) via a logical channel. The RLC layer of Layer 2 (L2) supports the transmission of data with reliability. It should be noted that the RLC layer illustrated in FIGS. 2(b) and 2(c) is depicted because if the RLC functions are implemented in and performed by the MAC layer, the RLC layer itself is not required. The PDCP layer of Layer 2 (L2) performs a header compression function that reduces unnecessary control information such that data being transmitted by employing Internet protocol (IP) packets, such as IPv4 or IPv6, can be efficiently sent over a radio (wireless) interface that has a relatively small bandwidth. The PDCP layer receives SDUs (Service Data Units) as an input and delivers compressed PDUs (Packet Data Units) as an output to lower layers.
A radio resource control (RRC) layer located at the lowest portion of the third layer (L3) is only defined in the control plane and controls logical channels, transport channels and the physical channels in relation to the configuration, reconfiguration, and release of the radio bearers (RBs). Here, the RB signifies a service provided by the second layer (L2) for data transmission between the terminal and the E-UTRAN.
As illustrated in FIG. 2(b), the RLC and MAC layers (terminated in an eNodeB 20 on the network side) may perform functions such as Scheduling, Automatic Repeat Request (ARQ), and hybrid automatic repeat request (HARQ). The PDCP layer (terminated in eNodeB 20 on the network side) may perform the user plane functions such as header compression, integrity protection, and ciphering.
As illustrated in FIG. 2(c), the RLC and MAC layers (terminated in an eNodeB 20 on the network side) perform the same functions as for the control plane. As illustrated, the RRC layer (terminated in an eNodeB 20 on the network side) may perform functions such as broadcasting, paging, RRC connection management, Radio Bearer (RB) control, mobility functions, and UE measurement reporting and controlling. The NAS control protocol (terminated in the MME of gateway 30 on the network side) may perform functions such as a SAE bearer management, authentication, LTE_IDLE mobility handling, paging origination in LTE_IDLE, and security control for the signaling between the gateway and UE 10.
The NAS control protocol may use three different states; first, a LTE_DETACHED state if there is no RRC entity; second, a LTE_IDLE state if there is no RRC connection while storing minimal UE information; and third, an LTE_ACTIVE state if the RRC connection is established. Also, the RRC state may be divided into two different states such as a RRC_IDLE and a RRC_CONNECTED.
In RRC_IDLE state, the UE 10 may receive broadcasts of system information and paging information while the UE specifies a Discontinuous Reception (DRX) configured by NAS, and the UE has been allocated an identification (ID) which uniquely identifies the UE in a tracking area. Also, in RRC-IDLE state, no RRC context is stored in the eNodeB.
In RRC_CONNECTED state, the UE 10 has an E-UTRAN RRC connection and a context in the E-UTRAN, such that transmitting and/or receiving data to/from the network (eNodeB) becomes possible. Also, the UE 10 can report channel quality information and feedback information to the eNodeB.
In RRC_CONNECTED state, the E-UTRAN knows the cell to which the UE 10 belongs. Therefore, the network can transmit and/or receive data to/from UE 10, the network can control mobility (handover) of the UE, and the network can perform cell measurements for a neighboring cell.
In RRC_IDLE mode, the UE 10 specifies the paging DRX (Discontinuous Reception) cycle. Specifically, the UE 10 monitors a paging signal at a specific paging occasion of every UE specific paging DRX cycle.
A wireless communication link is a link between a wireless device (e.g. a UE in the context of LTE) and a network having a plurality of base stations (e.g. eNodeBs in the context of LTE). As it is directional, such a wireless communication link has a data unit transmitting side and a data unit receiving side. Depending on the direction of the link, the wireless device may be on the data unit transmitting side while the network is on the data unit receiving side, or the wireless device may be on the data unit receiving side while the network is on the data unit transmitting side.
Under some circumstances, a handover of such a wireless communication link with a wireless device may be initiated from a source base station to a target base station.
It is reminded that the handover procedure is made to transfer, or hand off, a pending communication from a source cell, serviced by a source eNodeB, to a target cell, serviced by a target eNodeB. We consider here the non limiting case where the source and target cells are not serviced by the same eNodeB.
FIG. 3 schematically shows transmissions in relation to a wireless communication link in which the wireless device is on the data unit receiving side and the network is on the data unit transmitting side of the wireless communication link, a handover of the wireless communication link with the UE being initiated from a source eNodeB to a target eNodeB.
Further detail on the transmitted messages can be found in the relevant LTE technical specifications, in particular in the 3GPP TS 36.423 V8.0.0 “3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access Network (EUTRAN); X2 application protocol (X2AP) (Release 8)” and in the 3GPP TS 36.300 V8.3.0 “3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Universal Terrestrial Radio Access Network (E-UTRAN); Overall description; Stage 2 (Release 8)”, both released in December 2007.
Before the handover procedure starts, a sequence of (downlink) data units is transmitted along the wireless communication link from the source eNodeB to the UE.
The data units considered here are data units of the PDCP (Protocol Data Convergence Protocol) layer, also called PDCP SDUs (Service Data Units). PDCP in the context of LTE is fully described in the technical specification 3GPP TS 36.323 V8.0.0 “3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA); Packet Data Convergence Protocol (PDCP) specification (Release 8)”, released in December 2007.
Other types of data units may however be considered as well, as will appear to one skilled in the art. In particular, data units of a layer different from PDCP could be considered.
The source eNodeB configures the UE measurement procedures, which form part of the RRC protocol depicted in FIG. 2(a), according to area restriction information provisioned in each eNodeB. This may be done by sending one or more MEASUREMENT CONTROL messages to the UE in the RRC_CONNECTED state. Measurements requested by the source eNodeB may assist the function controlling the UE's connection mobility. The UE is then triggered to send MEASUREMENT REPORT messages (reference 1) according to rules set by e.g. system information broadcast by the source eNodeB and/or specified in the MEASUREMENT CONTROL message or additional downlink signaling.
For each UE in the RRC_CONNECTED state, the source eNodeB runs one or more handover control algorithms whose inputs include the measurements reported by the UE and possibly other measurements made by the source eNodeB. Depending on the measurements, the source eNodeB may decide to hand off the UE to a target eNodeB. When this occurs, the source eNodeB issues a HANDOVER REQUEST message to the target eNodeB (reference 2), passing necessary information to prepare the handover on the target side. Such information includes a UE X2 signaling context reference at the source eNodeB, a UE S1 EPC signaling context reference, a target cell identifier, an RRC context and a SAE bearer context. The UE X2 and UE S1 signaling context references enable the target eNodeB to address the source eNodeB and the EPC. The SAE bearer context includes necessary radio network layer (RNL) and transport network layer (TNL) addressing information.
An admission control function may be performed by the target eNodeB depending on the received SAE bearer quality of service (QoS) information to increase the likelihood of a successful handover, if the necessary resources are available at the target eNodeB. If the handover is admitted, the target eNodeB configures the resources according to the received SAE bearer QoS information and reserves a new cell-radio network temporary identifier (C-RNTI) for the sake of identifying the UE in the target cell. The target eNodeB prepares the handover in layers 1 and 2 and sends a HANDOVER REQUEST ACKNOWLEDGE message to the source eNodeB (reference 3). The HANDOVER REQUEST ACKNOWLEDGE message includes a transparent container to be passed to the UE 10. The container may include the new C-RNTI allocated by the target eNodeB, and possibly some other parameters such as access parameters, system information blocks (SIBs), etc. The HANDOVER REQUEST ACKNOWLEDGE message may also include RNL/TNL information for the forwarding tunnels, if necessary.
In response, the source eNodeB generates the HANDOVER COMMAND message of the RRC protocol and sends it towards the UE (reference 4). In parallel, the source eNodeB transfers to the target eNodeB part or all of the date units that are buffered for transmission to the UE and currently in transit towards the UE, as well as information relating to acknowledgement status of the data units by the UE.
The HANDOVER COMMAND message includes the transparent container, which has been received from the target eNodeB. The source eNodeB applies the necessary functions of integrity protection and ciphering to the message. The UE receives the HANDOVER COMMAND message with the necessary parameters (new C-RNTI, possible starting time, target eNodeB SIBs etc.) and is thereby instructed by the source eNodeB to perform the handover. The UE complies with the handover command by detaching from the source cell, getting synchronization and accessing the target cell.
When the UE has successfully accessed the target cell, it sends a HANDOVER CONFIRM message to the target eNodeB using the newly allocated C-RNTI (reference 9) to indicate that the handover procedure is completed on the UE side. The target eNodeB verifies the C-RNTI sent in the HANDOVER CONFIRM message. If the verification is positive, the EPC is informed by the HANDOVER COMPLETE message from the target eNodeB that the UE has changed cell. The EPC switches the downlink data path to the target side and it releases any U-plane/TNL resources towards the source eNodeB. The EPC confirms by returning a HANDOVER COMPLETE ACK message.
The target eNodeB then informs the source eNodeB that the handover was successful by sending a RELEASE RESOURCE message (reference 13), which triggers the release of resources, i.e. radio and C-plane related resources associated to the UE context, by the source eNodeB.
As shown in FIG. 3, after the handover from the source eNodeB to the target eNodeB was initiated (references 1-4), the source eNodeB forwards to the target eNodeB downlink PDCP SDUs for which reception in the UE has not been acknowledged to the source eNodeB (reference 6), such that the target eNodeB can retransmit them to the UE.
A PDCP status report is configured at the UE, which transfers it to a lower layer. A transmission unit in the UE may further transmit the PDCP status report (reference 10) to the target eNodeB. It is indicated by RRC signalling whether this PDCP status report shall be sent or not. The format and content of the PDCP status report appear in section 6.2.6 of the above mentioned TS 36.323 and is reproduced in FIG. 5.
As shown in FIG. 5, the PDCP status report contains a 12 bits LIS field including the last in sequence received PDCP sequence number, that is the sequence number of the last PDCP SDU received in sequence by the UE.
“In sequence received PDCP SDUs” can be defined as received PDCP SDUs of the transmitted sequence of PDCP SDUs preceding the first non received PDCP SDU in the sequence. So, the LIS field is a pointer designating the PDCP SDU of the sequence preceding immediately the first non received PDCP SDU.
The PDCP status report also contains a bitmap providing status information on PDCP SDUs of the sequence, which may be stored in a storage unit of the UE and indicating, for each PDCP SDU having a sequence number (SN) higher than LIS (i.e. for each PDCP SDU of the sequence following the last in sequence received PDCP SDU), whether said PDCP SDU has been received or not by the UE.
More specifically, this bitmap has a variable size and is built such that the MSB (Most Significant Bit) of its first octet (Oct 3 in FIG. 5) indicates whether or not the PDCP PDU with the SN (LIS+1) modulo 4096 has been received and, optionally whether or not the corresponding PDCP PDU (Protocol Data Unit) has been decompressed correctly, while the LSB (Least Significant Bit) of the first octet (Oct 3 in FIG. 5) indicates whether or not the PDCP PDU with the SN (LIS+8) modulo 4096 has been received correctly. The same applies as far as the Nth octet of the bitmap (Oct 2+N in FIG. 5), such that the bitmap can cover every PDCP SDU from the PDCP SDU following immediately the last in sequence received PDCP SDU to the last received PDCP SDU.
Each bit of the bitmap is set to:                0 when the PDCP PDU with PDCP Sequence Number=(LIS+bit position) modulo 4096 has not been received or optionally has been received but has not been decompressed correctly; or        1 when the PDCP PDU with PDCP Sequence Number=(LIS+bit position) modulo 4096 has been received correctly and may or may not have been decompressed correctly.        
In other words, all positions in the bitmap corresponding to PDCP SDUs that have not been received as indicated by RLC and optionally, PDCP PDUs for which decompression has failed are set to 0, while all other positions in the bitmap are set to 1.
When the source eNodeB receives the PDCP status report, it can discard all PDCP SDUs that are indicated with the binary value 1 in the bitmap, as well as PDCP SDUs with a PDCP SN equal or lower than the PDCP SN indicated by the LIS field (reference 11 in FIG. 3).
The other PDCP SDUs, i.e. those indicated with the binary value 0 in the bitmap, can be retransmitted to the UE by the target eNodeB that has received them previously from the source eNodeB (reference 12).
In this way, in case the source eNodeB has not received up to date RLC status information from the UE prior to the handover, unnecessary retransmission by the target eNodeB of PDCP SDUs already received by the UE is prevented.
FIG. 4 schematically shows transmissions in relation to a wireless communication link in which the wireless device is on the data unit transmitting side and the network is on the data unit receiving side of the wireless communication link, a handover of the wireless communication link with the UE being initiated from a source eNodeB to a target eNodeB.
So, before the handover procedure starts, a sequence of (uplink) data units is transmitted along the wireless communication link from the UE to the source eNodeB.
Most of the transmissions shown in FIG. 4 are identical or similar to the ones in FIG. 3.
The SN status transfer message (reference 5′) sent by the source eNodeB to the target eNodeB includes an indication of the last in sequence received PDCP sequence number as well as of whether or not the following uplink PDCP SDUs have been correctly received at the source eNodeB in the form of a bitmap.
Based on the information contained in the SN status transfer message, the target eNodeB may then build and transmit to the UE a PDCP status report (reference 10′), which like in the case illustrated in FIG. 3, may include a LIS field identifying the last in sequence received PDCP sequence number and a bitmap indicating whether the PDCP SDUs having sequence numbers (SNs) higher than LIS have been received or not by the source eNodeB.
When the UE receives the PDCP status report, it can discard all PDCP SDUs that are indicated with the binary value 1 in the bitmap, as well as PDCP SDUs with a PDCP SN equal or lower than the PDCP SN indicated by the LIS field (reference 11′ in FIG. 4).
The other PDCP SDUs, i.e. those indicated with the binary value 0 in the bitmap, can be retransmitted to the target eNodeB by the UE (reference 12′).
Of course, two wireless communication links having opposite directions may exist simultaneously between a UE and the network, one for transmitting downlink PDCP SDUs and the other for transmitting uplink PDCP SDUs. In this case, the above described mechanisms as illustrated in FIGS. 3 and 4 may both be carried out in parallel and selective retransmission may occur in both directions.
The size of the PDCP status report can vary a lot. Indeed, the bitmap may relate to just a few PDCP SDUs if the last received PDCP SDU is close to the last in sequence received PDCP SDU. In this case, a one octet bitmap could be enough. But, on the opposite, the PDCP status report may be quite long when the last received PDCP SDU is far away from the last in sequence received PDCP SDU, meaning that many (non in sequence received) PDCP SDUs were transmitted in between.
This situation is illustrated in FIG. 6, where crossed boxes represent received PDCP SDUs, while empty boxes represent non-received PDCP SDUs (or possibly not correctly decompressed PDCP PDUs). In this example, the SNs of the last in sequence PDCP SDU, the first non-received PDCP SDU and the last received PDCP SDU are 3, 4 and M respectively. So there are M-3 non in sequence received PDCP SDUs (i.e. PDCP SDUs from the first non-received PDCP SDU to the last received SDU), for which status information should be provided in the bitmap of the PDCP status report. The higher M is, the longer the bitmap should be.
A very long PDCP status report may create a very large overhead however. Also it implies that the UE implementation has to provision for being able to create a very large PDCP status report, although in most of the cases only a rather small PDCP status report is needed in practice.
An object of the present invention is to overcome this disadvantage.